libfolly: Fix compilation for older ARM platforms
authorRosen Penev <[email protected]>
Mon, 17 Jun 2019 18:32:52 +0000 (11:32 -0700)
committerRosen Penev <[email protected]>
Mon, 17 Jun 2019 19:29:37 +0000 (12:29 -0700)
ARM6 and below do not support the yield instruction. Do not use it there.

Signed-off-by: Rosen Penev <[email protected]>
libs/libfolly/Makefile
libs/libfolly/patches/103-arm-yield.patch [new file with mode: 0644]

index 8f4cc9dc6b1d6c932ab8c5dc941fbe277c7dce39..b731a7d695513a38e18282779aac6d211bd72070 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libfolly
 PKG_VERSION:=2019.06.10.00
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/facebook/folly/tar.gz/v$(PKG_VERSION)?
diff --git a/libs/libfolly/patches/103-arm-yield.patch b/libs/libfolly/patches/103-arm-yield.patch
new file mode 100644 (file)
index 0000000..f869526
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/folly/portability/Asm.h
++++ b/folly/portability/Asm.h
+@@ -38,7 +38,7 @@ inline void asm_volatile_pause() {
+   ::_mm_pause();
+ #elif defined(__i386__) || FOLLY_X64
+   asm volatile("pause");
+-#elif FOLLY_AARCH64 || defined(__arm__)
++#elif FOLLY_AARCH64 || (defined(__arm__) && !(__ARM_ARCH < 7))
+   asm volatile("yield");
+ #elif FOLLY_PPC64
+   asm volatile("or 27,27,27");